From dc0570cc17375d980ea7d38d99c9480839edc57f Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sat, 28 Oct 2017 11:49:39 -0400 Subject: [PATCH] gsk: Drop the GskRenderer::scale-factor property This is can always be obtained from the window that is already associated with the renderer, no need to maintain a separate property for it. --- gsk/gskglrenderer.c | 9 ++--- gsk/gskrenderer.c | 77 +------------------------------------------ gsk/gskrenderer.h | 5 --- gsk/gskvulkanrender.c | 2 +- gtk/gtkwindow.c | 9 +---- 5 files changed, 8 insertions(+), 94 deletions(-) diff --git a/gsk/gskglrenderer.c b/gsk/gskglrenderer.c index ee9ac46ecc..979e72f3b0 100644 --- a/gsk/gskglrenderer.c +++ b/gsk/gskglrenderer.c @@ -731,8 +731,9 @@ gsk_gl_renderer_add_render_item (GskGLRenderer *self, memset (&item, 0, sizeof (RenderItem)); - scale_factor = gsk_renderer_get_scale_factor (GSK_RENDERER (self)); - if (scale_factor < 1) + if (gsk_renderer_get_window (GSK_RENDERER (self))) + scale_factor = gdk_window_get_scale_factor (gsk_renderer_get_window (GSK_RENDERER (self))); + else scale_factor = 1; item.node = node; @@ -1067,7 +1068,7 @@ gsk_gl_renderer_setup_render_mode (GskGLRenderer *self) GdkDrawingContext *context = gsk_renderer_get_drawing_context (GSK_RENDERER (self)); GdkWindow *window = gsk_renderer_get_window (GSK_RENDERER (self)); GdkRectangle extents; - int scale_factor = gsk_renderer_get_scale_factor (GSK_RENDERER (self)); + int scale_factor = gdk_window_get_scale_factor (window); cairo_region_get_extents (gdk_drawing_context_get_clip (context), &extents); @@ -1221,7 +1222,7 @@ gsk_gl_renderer_render (GskRenderer *renderer, gdk_gl_context_make_current (self->gl_context); gsk_renderer_get_viewport (renderer, &viewport); - scale_factor = gsk_renderer_get_scale_factor (renderer); + scale_factor = gdk_window_get_scale_factor (gsk_renderer_get_window (renderer)); gsk_gl_renderer_do_render (renderer, root, &viewport, scale_factor); diff --git a/gsk/gskrenderer.c b/gsk/gskrenderer.c index e4ab4e97bc..f998c9de8e 100644 --- a/gsk/gskrenderer.c +++ b/gsk/gskrenderer.c @@ -76,8 +76,6 @@ typedef struct GskProfiler *profiler; - int scale_factor; - gboolean is_realized : 1; } GskRendererPrivate; @@ -85,7 +83,6 @@ G_DEFINE_ABSTRACT_TYPE_WITH_PRIVATE (GskRenderer, gsk_renderer, G_TYPE_OBJECT) enum { PROP_VIEWPORT = 1, - PROP_SCALE_FACTOR, PROP_WINDOW, PROP_DISPLAY, PROP_DRAWING_CONTEXT, @@ -157,7 +154,7 @@ gsk_renderer_real_create_cairo_surface (GskRenderer *self, int height) { GskRendererPrivate *priv = gsk_renderer_get_instance_private (self); - int scale_factor = priv->scale_factor > 0 ? priv->scale_factor : 1; + int scale_factor = priv->window ? gdk_window_get_scale_factor (priv->window) : 1; int real_width = width * scale_factor; int real_height = height * scale_factor; @@ -197,10 +194,6 @@ gsk_renderer_set_property (GObject *gobject, gsk_renderer_set_viewport (self, g_value_get_boxed (value)); break; - case PROP_SCALE_FACTOR: - gsk_renderer_set_scale_factor (self, g_value_get_int (value)); - break; - case PROP_DISPLAY: /* Construct-only */ priv->display = g_value_dup_object (value); @@ -227,10 +220,6 @@ gsk_renderer_get_property (GObject *gobject, g_value_set_boxed (value, &priv->viewport); break; - case PROP_SCALE_FACTOR: - g_value_set_int (value, priv->scale_factor); - break; - case PROP_WINDOW: g_value_set_object (value, priv->window); break; @@ -324,23 +313,6 @@ gsk_renderer_class_init (GskRendererClass *klass) G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); - /** - * GskRenderer:scale-factor: - * - * The scale factor used when rendering. - * - * Since: 3.90 - */ - gsk_renderer_properties[PROP_SCALE_FACTOR] = - g_param_spec_int ("scale-factor", - "Scale Factor", - "The scaling factor of the renderer", - 1, G_MAXINT, - 1, - G_PARAM_READWRITE | - G_PARAM_STATIC_STRINGS | - G_PARAM_EXPLICIT_NOTIFY); - /** * GskRenderer:drawing-context: * @@ -365,8 +337,6 @@ gsk_renderer_init (GskRenderer *self) GskRendererPrivate *priv = gsk_renderer_get_instance_private (self); priv->profiler = gsk_profiler_new (); - - priv->scale_factor = 1; } /** @@ -423,51 +393,6 @@ gsk_renderer_get_viewport (GskRenderer *renderer, graphene_rect_init_from_rect (viewport, &priv->viewport); } -/** - * gsk_renderer_set_scale_factor: - * @renderer: a #GskRenderer - * @scale_factor: the new scale factor - * - * Sets the scale factor for the renderer. - * - * Since: 3.90 - */ -void -gsk_renderer_set_scale_factor (GskRenderer *renderer, - int scale_factor) -{ - GskRendererPrivate *priv = gsk_renderer_get_instance_private (renderer); - - g_return_if_fail (GSK_IS_RENDERER (renderer)); - - if (priv->scale_factor != scale_factor) - { - priv->scale_factor = scale_factor; - - g_object_notify_by_pspec (G_OBJECT (renderer), gsk_renderer_properties[PROP_SCALE_FACTOR]); - } -} - -/** - * gsk_renderer_get_scale_factor: - * @renderer: a #GskRenderer - * - * Gets the scale factor for the @renderer. - * - * Returns: the scale factor - * - * Since: 3.90 - */ -int -gsk_renderer_get_scale_factor (GskRenderer *renderer) -{ - GskRendererPrivate *priv = gsk_renderer_get_instance_private (renderer); - - g_return_val_if_fail (GSK_IS_RENDERER (renderer), 1); - - return priv->scale_factor; -} - /** * gsk_renderer_get_window: * @renderer: a #GskRenderer diff --git a/gsk/gskrenderer.h b/gsk/gskrenderer.h index 0873cf76fa..ab51bc1595 100644 --- a/gsk/gskrenderer.h +++ b/gsk/gskrenderer.h @@ -48,11 +48,6 @@ GDK_AVAILABLE_IN_3_90 void gsk_renderer_get_viewport (GskRenderer *renderer, graphene_rect_t *viewport); GDK_AVAILABLE_IN_3_90 -void gsk_renderer_set_scale_factor (GskRenderer *renderer, - int scale_factor); -GDK_AVAILABLE_IN_3_90 -int gsk_renderer_get_scale_factor (GskRenderer *renderer); -GDK_AVAILABLE_IN_3_90 GdkWindow * gsk_renderer_get_window (GskRenderer *renderer); GDK_AVAILABLE_IN_3_90 diff --git a/gsk/gskvulkanrender.c b/gsk/gskvulkanrender.c index ad4d1642bd..e94185d731 100644 --- a/gsk/gskvulkanrender.c +++ b/gsk/gskvulkanrender.c @@ -83,7 +83,7 @@ gsk_vulkan_render_setup (GskVulkanRender *self, } else { - self->scale_factor = gsk_renderer_get_scale_factor (self->renderer); + self->scale_factor = gdk_window_get_scale_factor (gsk_renderer_get_window (self->renderer)); self->viewport = GRAPHENE_RECT_INIT (0, 0, gdk_window_get_width (window) * self->scale_factor, gdk_window_get_height (window) * self->scale_factor); diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index 68de62e940..19436574d8 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -6876,10 +6876,7 @@ gtk_window_realize (GtkWidget *widget) gtk_widget_set_realized (widget, TRUE); if (priv->renderer == NULL) - { - priv->renderer = gsk_renderer_new_for_window (gdk_window); - gsk_renderer_set_scale_factor (priv->renderer, gtk_widget_get_scale_factor (widget)); - } + priv->renderer = gsk_renderer_new_for_window (gdk_window); if (priv->transient_parent && _gtk_widget_get_realized (GTK_WIDGET (priv->transient_parent))) @@ -7120,10 +7117,6 @@ _gtk_window_set_allocation (GtkWindow *window, if (priv->renderer != NULL) { graphene_rect_t viewport; - int scale; - - scale = gtk_widget_get_scale_factor (widget); - gsk_renderer_set_scale_factor (priv->renderer, scale); graphene_rect_init (&viewport, 0, 0, allocation->width, allocation->height); gsk_renderer_set_viewport (priv->renderer, &viewport); -- 2.30.2